"Surf's up!" This used to be the battle cry of adventurous beach-side surfers when waves on the beach looked enticing. Upon hearing this cry, other interested surfers would grab their surfboards and head for the nearest beach to enjoy themselves by surfing the waves. These days, the traditional surf is no longer limited to the ocean. What has become known as "surfing the Web" is a phrase generally heard from computer users who have logged onto the World Wide Web, a multimedia portion of the global Internet, using a special hypertext transfer protocol (http) to communicate with hypertext-enabled document servers. These servers maintain hypertext-enabled documents, also called Web pages. It is the content of these hypertext-enabled documents and the way the content of these documents is presented on the computer monitor that entices computer users to grab their computers instead of their surfboards and log onto the Web.
Basically, hypertext enabled-documents are documents with automatic links to other documents generally written in a hypertext markup language (HTML). HTML is a document layout and hyperlink specification language. In other words, HTML defines the structure and appearance of hypertext-enabled documents and provides a distribution mechanism for creating and sharing these documents, which are linked to other documents, over computer networks such as the Internet. More particularly, HTML defines the syntax and placement of special, embedded elements or directions that are not displayed by browsing software. These elements tell the browsing software how to display the contents of the document, including text and images. The language also tells how to make a document interactive through hypertext links (hyperlinks). These hyperlinks may be represented by text, images or parts of a single image, each of which a user can click on to seemlessly access another document.
Creating hypertext-enabled documents or Web pages is done by coding HTML elements into an HTML stream of elements, similar to a listing of program steps for a software application. Each bit of text, image, and hyperlink that should appear as part of the hypertext-enabled document is defined by these HTML elements. This task can be simplified by one of a variety of software applications which assist an author when creating a hypertext-enabled document from the ground up. Additionally, several software programs create hypertext-enabled documents from an existing document, also called an online version of the existing document, based upon the content and layout of the existing document.
Creating an online version of the existing document can become troublesome when the particular "what-you-see-is-what-you-get" (WYSIWYG) layout of objects comprising the existing document must be preserved. Overlapping objects on a traditionally printed page of an existing document create a pleasing visual effect. Objects containing a graphic image can be artfully layered over or behind text objects to create such an effect. Objects can also overlap each other on the page to give the illusion of a three-dimensional layout of the objects, conventionally referred to as z-ordering the objects. However, overlapping objects on the page is a problem when converting the page of the existing document to an online version for use on the World Wide Web or an intranet within a networked workgroup. In general, HTML does not easily or efficiently present the content of the objects exactly as laid out on the page of the existing document when objects overlap each other. This is because HTML concerns itself more with the content rather than the layout of information.
One way to solve this problem is to create a graphic image of the entire page and use the graphic image as the online version of the page. The graphic image preserves the content of the objects as well as the layout of the objects as they appear on the page. However, representing the page in this manner greatly increases the time to download the online version of the page (poor online performance) because of the large file size associated with graphic images. This is a problem because someone on the network may want to access the online version of the page but may become disinterested after waiting an undesirable amount of time to download it. Furthermore, the content of the objects may no longer be easily re-used when the graphic image is used to represent the content and layout of the objects.
Other attempts at solving this problem use a conventional HTML element called an HTML table. The HTML table is an element introduced in HTML 2.0 with Netscape Extensions (later incorporated into the HTML 3.0 standard). The HTML table is essentially a collection of information arranged in a framework of rows and columns. The intersection of each row and column of the table is called a cell. Cells in an HTML table can be merged to alter the layout of the cells. Thus, the layout (size and location) of the cells in the framework defines the presentation of the information or content contained within each cell.
Representations of each object on a page may be placed within the appropriately located cell of the HTML table to attempt to maintain the layout of objects as they appear on the page.
Using the HTML table element, other solutions, such as NetObjects Fusion marketed by NetObjects, Inc. of Redwood City, Calif., have taken objects arranged in a layout on a page and defined a table where the contents of the objects are defined as the contents of particular cells of the HTML table. However, if any of the objects are overlapping, the layout of objects on the page is not preserved because the NetObjects Fusion application separates the overlapping objects and inserts representations of each of the separated objects into different cells of the HTML table. In other words, the pleasing visual effect created on the page is not preserved and does not translate to the online version of the page using the NetObjects Fusion application when overlapping objects are encountered.
Another solution called WebPublisher is marketed by Assymetrix Corporation of Bellevue, Wash. With the WebPublisher application, the user is limited to predefined HTML tables with which to use when converting the page of the existing document (i.e., objects in the layout on the page) into an online version of the page.
Using the WebPublisher application, the online version of the page may not have the same layout when compared to the original layout of objects on the page. This approach is highly restrictive as the HTML table is static and cannot adapt itself.
Therefore, there is a need for a system for efficiently converting a page with overlapping objects from an existing document into an online version of the page (1) while preserving the WYSIWYG layout of the page, (2) while preserving any existing hyperlinks associated with the objects, (3) that avoids poor online performance due to an undesirable amount of time when downloading the online version of the page, and (4) uses existing browsing technology supporting tables without requiring any additional software when viewing the online version of the page. Furthermore, there is a need for a way of providing text adornments, such as drop-shadows, margins, or borders, to one of the objects on the page without having to create a graphic image of the object in the online version of the page.